import fetch from "@/api/fetch"
import constants from "@/api/constants"

const baseURL = constants.baseURL + "/sys";

const api = {
    // 系统用户
    sysUser: {
        // 更新用户角色
        updateUserRole(roleIds, userId) {
            return fetch.post(baseURL + "/user/updateUserRole", {
                roleIds: roleIds,
                userId: userId
            })
        },
        // 用户角色ID列表
        userRoleIds(userId) {
            return fetch.get(baseURL + "/user/roleIds/" + userId)
        },
        // 分页列表
        listPage(params) {
            return fetch.get(baseURL + "/user/listPage", { params });
        },
        // 详情
        info(id) {
            return fetch.get(baseURL + "/user/" + id);
        },
        // 新增
        save(form) {
            return fetch.post(baseURL + "/user/save", form);
        },
        // 编辑
        update(form) {
            return fetch.post(baseURL + "/user/update", form);
        }
    },
    // 系统角色
    sysRole: {
        // 角色权限ID列表
        rolePermissionIds(roleId) {
            return fetch.get(baseURL + "/role/permissionIds/" + roleId)
        },
        // 更新角色权限
        updateRolePermission(permissionIds, roleId) {
            return fetch.post(baseURL + "/role/updateRolePermission", {
                permissionIds: permissionIds,
                roleId: roleId
            })
        },
        // 列表
        list(name, userId) {
            return fetch.get(baseURL + "/role/list", {
                params: {
                    name: name,
                    userId: userId
                }
            })
        },
        // 分页列表
        listPage(params) {
            return fetch.get(baseURL + "/role/listPage", { params })
        },
        // 详情
        info(id) {
            return fetch.get(baseURL + "/role/" + id);
        },
        // 新增
        save(form) {
            return fetch.post(baseURL + "/role/save", form);
        },
        // 编辑
        update(form) {
            return fetch.post(baseURL + "/role/update", form);
        },
        // 删除
        delete(id) {
            return fetch.post(baseURL + "/role/delete/" + id);
        }
    },
    sysPermission: {
        // 树列表
        treeList(name) {
            return fetch.get(baseURL + "/permission/treeList", {
                params: {
                    name: name
                }
            });
        },
    },
    // 系统字典
    sysDict: {
        // 分页列表
        listPage(params) {
            return fetch.get(baseURL + "/dict/listPage", { params })
        },
        // 详情
        info(id) {
            return fetch.get(baseURL + "/dict/" + id);
        },
        // 新增
        save(form) {
            return fetch.post(baseURL + "/dict/save", form);
        },
        // 编辑
        update(form) {
            return fetch.post(baseURL + "/dict/update", form);
        },
        // 删除
        delete(id) {
            return fetch.post(baseURL + "/dict/delete/" + id);
        },

        // 值详情
        valueInfo(id) {
            return fetch.get(baseURL + "/dict/value/" + id);
        },
        // 值列表
        valueList(dictId) {
            return fetch.get(baseURL + "/dict/value/list/" + dictId);
        },
        // 新增
        saveValue(form) {
            return fetch.post(baseURL + "/dict/value/save", form);
        },
        // 编辑
        updateValue(form) {
            return fetch.post(baseURL + "/dict/value/update", form);
        },
        // 删除
        deleteValue(id) {
            return fetch.post(baseURL + "/dict/value/delete/" + id);
        }
    },
    // 操作日志
    operateLog: {
        // 分页列表
        listPage(params) {
            return fetch.get(baseURL + "/operateLog/listPage", { params });
        }
    },
    // 重试任务
    retryLogTask: {
        // 重试配置
        retryConfig() {
            return fetch.get(baseURL + "/retryLogTask/retryConfig");
        },
        // 任务列表
        taskList(params) {
            return fetch.get(baseURL + "/retryLogTask/taskList", { params });
        },
        // 重试日志分页列表
        logListPage(params) {
            return fetch.get(baseURL + "/retryLogTask/logListPage", { params });
        }
    },
    // 定时任务
    timerTask: {
        // 任务列表
        taskList(params) {
            return fetch.get(baseURL + "/timerTask/taskList", { params });
        }
    },
}

export default api;